knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = paste0('_sensitivitySupport_', as.character(iterations))
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'plan_selfPlan',
    'plan_partnerPlan',
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    'Own actionplan',
    'Partner actionplan',
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,16),
  "Between-Person Effects" = c(17,27),
  "Random Effects" = c(28, 34), 
  "Additional Parameters" = c(35,35)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,16+5),
  "Between-Person Effects" = c(17+5,27+5),
  "Random Effects" = c(28+5, 34+5), 
  "Additional Parameters" = c(35+5,35+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'plan_selfPlan',
    'plan_partnerPlan',
    'day', 
    'weartime_self_cw',
  
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_plan_selfPlan',
    'hu_plan_partnerPlan',
    'hu_day', 
    'hu_weartime_self_cw',

    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    'Own actionplan',
    'Partner actionplan',
    "Day", 
    "Daily weartime",

    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    'Hu Own actionplan',
    'Hu Partner actionplan',
    "Hu Day", 
    "Hu Daily weartime",

    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,17),
  "Conditional Between-Person Effects" = c(18,28),
  
  "Hurdle Within-Person Effects" = c(29,43),
  "Hurdle Between-Person Effects" = c(44,54),
  
  "Random Effects" = c(55, 68), 
  "Additional Parameters" = c(69,69)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,17+5),
  "Conditional Between-Person Effects" = c(18+5,28+5),
  
  "Hurdle Within-Person Effects" = c(29+5,43+5),
  "Hurdle Between-Person Effects" = c(44+5,54+5),
  
  "Random Effects" = c(55+5, 68+5), 
  "Additional Parameters" = c(69+5,69+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 36.75*** 2.58 [31.94, 42.13] 1.000 [0.92, 1.08] 0.000 1.000 1185 1908
Hurdle Intercept 0.27*** 0.04 [ 0.20, 0.38] 1.000 [0.84, 1.20] 0.000 1.003 1112 1981
Conditional Within-Person Effects
Daily persuasion experienced 0.99 0.03 [ 0.94, 1.05] 0.611 [0.92, 1.08] 0.998 1.000 1714 2902
Daily persuasion utilized (partner’s view) 1.00 0.02 [ 0.96, 1.05] 0.536 [0.92, 1.08] 0.999 1.000 1937 2216
Daily pressure experienced 0.92 0.04 [ 0.83, 1.01] 0.967 [0.92, 1.08] 0.427 1.000 3611 3016
Daily pressure utilized (partner’s view) 0.95 0.04 [ 0.87, 1.03] 0.883 [0.92, 1.08] 0.736 1.001 3022 2632
Daily pushing experienced 0.97 0.03 [ 0.90, 1.03] 0.859 [0.92, 1.08] 0.907 1.001 3013 2480
Daily pushing utilized (partner’s view) 0.95 0.03 [ 0.89, 1.01] 0.958 [0.92, 1.08] 0.831 1.001 2907 2851
Own actionplan 1.35*** 0.06 [ 1.23, 1.48] 1.000 [0.92, 1.08] 0.000 1.002 4363 2965
Partner actionplan 1.04 0.04 [ 0.96, 1.14] 0.846 [0.92, 1.08] 0.797 1.001 3948 2902
Day 0.99 0.06 [ 0.89, 1.12] 0.535 [0.92, 1.08] 0.820 1.000 4555 2973
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** 0.01 [ 1.05, 1.10] 1.000 [0.92, 1.08] 0.750 1.004 5026 3162
Daily support provided (partner’s view) 1.05*** 0.01 [ 1.02, 1.08] 1.000 [0.92, 1.08] 0.986 1.000 4669 2789
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 0.15 [ 0.67, 1.28] 0.681 [0.92, 1.08] 0.336 1.002 924 1533
Mean persuasion utilized (partner’s view) 0.99 0.15 [ 0.72, 1.35] 0.531 [0.92, 1.08] 0.381 1.002 935 1568
Mean pressure experienced 1.27 0.22 [ 0.89, 1.79] 0.910 [0.92, 1.08] 0.138 1.004 1094 2133
Mean pressure utilized (partner’s view) 0.92 0.17 [ 0.64, 1.34] 0.669 [0.92, 1.08] 0.301 1.002 1358 2205
Mean pushing experienced 1.19 0.29 [ 0.74, 1.94] 0.767 [0.92, 1.08] 0.202 1.003 985 1662
Mean pushing utilized (partner’s view) 1.10 0.27 [ 0.68, 1.82] 0.653 [0.92, 1.08] 0.224 1.003 1001 1732
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 1.12* 0.05 [ 1.02, 1.22] 0.988 [0.92, 1.08] 0.252 1.003 1405 2046
Mean support provided (partner’s view) 0.97 0.04 [ 0.88, 1.06] 0.753 [0.92, 1.08] 0.832 1.003 1344 1962
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.21** 0.08 [ 1.06, 1.40] 0.998 [0.84, 1.20] 0.440 1.000 2955 2855
Hu Daily persuasion utilized (partner’s view) 1.08 0.08 [ 0.94, 1.25] 0.879 [0.84, 1.20] 0.915 1.002 3038 2310
Hu Daily pressure experienced 0.91 0.14 [ 0.65, 1.28] 0.723 [0.84, 1.20] 0.655 1.002 2435 2036
Hu Daily pressure utilized (partner’s view) 1.63* 0.34 [ 1.10, 2.66] 0.993 [0.84, 1.20] 0.063 1.001 3292 2254
Hu Daily pushing experienced 0.83 0.12 [ 0.63, 1.15] 0.887 [0.84, 1.20] 0.467 1.002 2342 2828
Hu Daily pushing utilized (partner’s view) 1.18 0.14 [ 0.94, 1.53] 0.931 [0.84, 1.20] 0.550 1.001 2938 2268
Hu Own actionplan 9.73*** 1.00 [ 7.90, 11.96] 1.000 [0.84, 1.20] 0.000 1.000 4243 3092
Hu Partner actionplan 1.02 0.11 [ 0.83, 1.25] 0.587 [0.84, 1.20] 0.910 1.002 4518 3110
Hu Day 0.93 0.14 [ 0.69, 1.26] 0.685 [0.84, 1.20] 0.704 1.003 5454 2592
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.70*** 0.08 [ 1.56, 1.86] 1.000 [0.84, 1.20] 0.000 1.000 3807 3220
Hu Daily support provided (partner’s view) 1.40*** 0.06 [ 1.28, 1.53] 1.000 [0.84, 1.20] 0.000 1.000 4921 3091
Hu Is a Weekend NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.28 0.49 [ 0.58, 2.74] 0.743 [0.84, 1.20] 0.294 1.003 681 1487
Hu Mean persuasion utilized (partner’s view) 1.13 0.43 [ 0.52, 2.49] 0.619 [0.84, 1.20] 0.349 1.004 660 1372
Hu Mean pressure experienced 0.36* 0.16 [ 0.15, 0.85] 0.987 [0.84, 1.20] 0.024 1.002 1136 2240
Hu Mean pressure utilized (partner’s view) 0.59 0.27 [ 0.24, 1.42] 0.872 [0.84, 1.20] 0.166 1.001 1342 2111
Hu Mean pushing experienced 0.65 0.39 [ 0.20, 2.20] 0.762 [0.84, 1.20] 0.192 1.004 1096 2072
Hu Mean pushing utilized (partner’s view) 1.34 0.80 [ 0.41, 4.18] 0.688 [0.84, 1.20] 0.207 1.004 1179 2042
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.28* 0.16 [ 1.00, 1.66] 0.975 [0.84, 1.20] 0.290 1.002 1782 2241
Hu Mean support provided (partner’s view) 1.39** 0.17 [ 1.10, 1.78] 0.996 [0.84, 1.20] 0.116 1.001 1872 2531
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.31 0.04 [0.23, 0.42] NA NA NA 1.001 1097 1719
sd(Hurdle Intercept) 0.76 0.11 [0.57, 1.03] NA NA NA 1.002 1033 1766
sd(Daily persuasion experienced) 0.11 0.02 [0.07, 0.16] NA NA NA 1.000 1910 2448
sd(Daily persuasion utilized (partner’s view)) 0.08 0.02 [0.05, 0.13] NA NA NA 1.001 2192 2378
sd(Daily pressure experienced) 0.06 0.05 [0.00, 0.21] NA NA NA 1.003 1723 1889
sd(Daily pressure utilized (partner’s view)) 0.05 0.04 [0.00, 0.17] NA NA NA 1.001 1967 1521
sd(Daily pushing experienced) 0.08 0.04 [0.01, 0.17] NA NA NA 1.003 888 496
sd(Daily pushing utilized (partner’s view)) 0.07 0.04 [0.01, 0.14] NA NA NA 1.001 1173 1085
sd(Hu Daily persuasion experienced) 0.14 0.10 [0.01, 0.36] NA NA NA 1.003 893 1257
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 0.10 [0.01, 0.38] NA NA NA 1.001 862 982
sd(Hu Daily pressure experienced) 0.22 0.19 [0.01, 0.79] NA NA NA 1.003 1245 2091
sd(Hu Daily pressure utilized (partner’s view)) 0.35 0.28 [0.01, 1.11] NA NA NA 1.000 1475 1648
sd(Hu Daily pushing experienced) 0.54 0.17 [0.27, 0.97] NA NA NA 1.003 1383 2095
sd(Hu Daily pushing utilized (partner’s view)) 0.18 0.14 [0.01, 0.52] NA NA NA 1.001 1117 1241
Additional Parameters
sigma 0.66 0.01 [0.64, 0.69] NA NA NA 1.001 4168 3189
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.75), b_hu_persuasion_partner_cb and
##   b_hu_persuasion_self_cb (r = 0.73). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 112.23*** 6.02 [101.26, 125.45] 1.000 [0.94, 1.07] 0.000 1.000 1069 1686
Within-Person Effects
Daily persuasion experienced 1.01 0.01 [ 0.98, 1.04] 0.694 [0.94, 1.07] 1.000 1.000 3596 3168
Daily persuasion utilized (partner’s view) 1.01 0.02 [ 0.98, 1.04] 0.688 [0.94, 1.07] 0.999 1.001 4067 3014
Daily pressure experienced 0.95 0.03 [ 0.89, 1.02] 0.942 [0.94, 1.07] 0.621 1.001 5142 3264
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.733 [0.94, 1.07] 0.911 1.002 5218 2827
Daily pushing experienced 1.01 0.02 [ 0.96, 1.06] 0.609 [0.94, 1.07] 0.984 1.001 3636 2957
Daily pushing utilized (partner’s view) 1.00 0.02 [ 0.96, 1.04] 0.603 [0.94, 1.07] 0.999 1.002 5222 3236
Own actionplan 1.06* 0.03 [ 1.01, 1.11] 0.988 [0.94, 1.07] 0.618 1.001 7582 3057
Partner actionplan 1.04 0.02 [ 0.99, 1.09] 0.931 [0.94, 1.07] 0.886 1.002 6466 3301
Day 0.97 0.03 [ 0.91, 1.05] 0.763 [0.94, 1.07] 0.856 1.000 8714 2993
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.002 3837 1981
Daily support received 1.04*** 0.01 [ 1.02, 1.06] 1.000 [0.94, 1.07] 0.999 1.002 7037 2983
Daily support provided (partner’s view) 1.01 0.01 [ 0.99, 1.03] 0.907 [0.94, 1.07] 1.000 1.000 7068 3248
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.05 0.15 [ 0.80, 1.40] 0.651 [0.94, 1.07] 0.333 1.008 914 1468
Mean persuasion utilized (partner’s view) 0.98 0.14 [ 0.73, 1.31] 0.570 [0.94, 1.07] 0.342 1.008 850 1727
Mean pressure experienced 1.04 0.15 [ 0.78, 1.38] 0.600 [0.94, 1.07] 0.342 1.006 1210 1921
Mean pressure utilized (partner’s view) 0.97 0.14 [ 0.73, 1.28] 0.596 [0.94, 1.07] 0.339 1.006 1150 1859
Mean pushing experienced 0.90 0.20 [ 0.58, 1.42] 0.684 [0.94, 1.07] 0.198 1.002 896 1930
Mean pushing utilized (partner’s view) 1.11 0.25 [ 0.73, 1.75] 0.676 [0.94, 1.07] 0.211 1.002 895 1907
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.932 [0.94, 1.07] 1.000 1.001 5407 3702
Mean support received 1.07 0.04 [ 0.98, 1.16] 0.935 [0.94, 1.07] 0.500 1.002 1228 2205
Mean support provided (partner’s view) 1.00 0.04 [ 0.92, 1.09] 0.533 [0.94, 1.07] 0.858 1.003 1295 1877
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.29 0.04 [0.23, 0.39] NA NA NA 1.004 989 2102
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.001 2013 2010
sd(Daily persuasion utilized (partner’s view)) 0.05 0.02 [0.03, 0.09] NA NA NA 1.000 2168 2311
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.13] NA NA NA 1.004 2048 2228
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.001 2393 2368
sd(Daily pushing experienced) 0.07 0.04 [0.01, 0.15] NA NA NA 1.001 972 1007
sd(Daily pushing utilized (partner’s view)) 0.03 0.02 [0.00, 0.09] NA NA NA 1.003 1738 2267
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.002 6386 3031
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.87), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.73), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.73), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.77), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.84). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.68*** 0.11 [ 3.47, 3.89] 1.000 [-0.11, 0.11] 0.000 1.004 475 1209
Within-Person Effects
Daily persuasion experienced -0.04 0.02 [-0.08, 0.00] 0.966 [-0.11, 0.11] 1.000 1.000 3434 3115
Daily persuasion utilized (partner’s view) 0.00 0.02 [-0.05, 0.04] 0.589 [-0.11, 0.11] 1.000 1.000 3045 2990
Daily pressure experienced -0.03 0.05 [-0.14, 0.07] 0.739 [-0.11, 0.11] 0.929 1.001 3668 3020
Daily pressure utilized (partner’s view) -0.02 0.05 [-0.13, 0.08] 0.671 [-0.11, 0.11] 0.942 1.000 3222 2339
Daily pushing experienced -0.01 0.03 [-0.07, 0.05] 0.639 [-0.11, 0.11] 0.999 1.001 4279 3217
Daily pushing utilized (partner’s view) 0.06 0.03 [-0.01, 0.13] 0.962 [-0.11, 0.11] 0.950 1.000 3191 2842
Own actionplan 0.09* 0.04 [ 0.01, 0.16] 0.987 [-0.11, 0.11] 0.757 1.000 4615 3219
Partner actionplan -0.06 0.04 [-0.14, 0.02] 0.936 [-0.11, 0.11] 0.925 1.001 4702 3066
Day 0.26*** 0.05 [ 0.15, 0.37] 1.000 [-0.11, 0.11] 0.002 1.000 5888 3339
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.08*** 0.01 [ 0.05, 0.11] 1.000 [-0.11, 0.11] 0.987 1.000 5271 2884
Daily support provided (partner’s view) 0.04* 0.01 [ 0.01, 0.06] 0.994 [-0.11, 0.11] 1.000 1.002 5292 3014
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 0.24 0.28 [-0.32, 0.79] 0.797 [-0.11, 0.11] 0.220 1.011 483 846
Mean persuasion utilized (partner’s view) 0.30 0.28 [-0.25, 0.87] 0.858 [-0.11, 0.11] 0.183 1.010 473 869
Mean pressure experienced -0.26 0.28 [-0.80, 0.30] 0.822 [-0.11, 0.11] 0.209 1.008 617 1107
Mean pressure utilized (partner’s view) -0.33 0.27 [-0.88, 0.22] 0.883 [-0.11, 0.11] 0.167 1.007 602 1073
Mean pushing experienced 0.21 0.41 [-0.65, 0.99] 0.696 [-0.11, 0.11] 0.188 1.002 741 1209
Mean pushing utilized (partner’s view) 0.16 0.40 [-0.69, 0.96] 0.651 [-0.11, 0.11] 0.202 1.002 746 1190
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.15 0.08 [ 0.00, 0.31] 0.972 [-0.11, 0.11] 0.311 1.007 996 1983
Mean support provided (partner’s view) -0.08 0.08 [-0.24, 0.07] 0.852 [-0.11, 0.11] 0.653 1.008 969 1819
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.60 0.08 [0.48, 0.80] NA NA NA 1.002 965 1672
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.000 1047 1501
sd(Daily persuasion utilized (partner’s view)) 0.06 0.03 [0.01, 0.12] NA NA NA 1.004 1024 727
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.25] NA NA NA 1.001 1570 1481
sd(Daily pressure utilized (partner’s view)) 0.08 0.07 [0.00, 0.27] NA NA NA 1.001 1318 1542
sd(Daily pushing experienced) 0.05 0.04 [0.00, 0.14] NA NA NA 1.003 1350 1908
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.00, 0.15] NA NA NA 1.003 1427 1714
Additional Parameters
sigma 0.95 0.01 [0.93, 0.97] NA NA NA 1.002 6448 2871
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.82), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.79), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.79), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.82), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.77), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.9), b_support_partner_cb and b_support_self_cb
##   (r = 0.78). This might lead to inappropriate results. See 'Details' in
##   '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 3.47*** 1.07 [ 1.92, 6.42] 1.000 [0.84, 1.20] 0.000 1.000 3090 3325
Intercept[2] 7.65*** 2.42 [ 4.18, 14.57] 1.000 [0.84, 1.20] 0.000 1.000 3027 3161
Intercept[3] 21.48*** 7.36 [ 11.37, 42.35] 1.000 [0.84, 1.20] 0.000 1.000 3035 3486
Intercept[4] 96.11*** 38.95 [ 45.22, 211.25] 1.000 [0.84, 1.20] 0.000 1.000 3429 3353
Intercept[5] 3426.98*** 2365.87 [1013.95, 14415.69] 1.000 [0.84, 1.20] 0.000 1.000 3828 2938
Within-Person Effects
Daily persuasion experienced 0.91 0.08 [ 0.76, 1.09] 0.846 [0.84, 1.20] 0.836 1.000 2607 2853
Daily persuasion utilized (partner’s view) 1.13 0.12 [ 0.89, 1.39] 0.848 [0.84, 1.20] 0.722 1.000 2713 2675
Daily pressure experienced 1.85* 0.38 [ 1.14, 2.69] 0.993 [0.84, 1.20] 0.034 1.002 1925 2208
Daily pressure utilized (partner’s view) 1.18 0.28 [ 0.66, 1.99] 0.758 [0.84, 1.20] 0.440 1.001 2196 1953
Daily pushing experienced 1.27* 0.15 [ 1.02, 1.61] 0.981 [0.84, 1.20] 0.299 1.001 2322 2715
Daily pushing utilized (partner’s view) 0.95 0.13 [ 0.73, 1.23] 0.650 [0.84, 1.20] 0.790 1.001 2658 2838
Own actionplan 0.90 0.27 [ 0.51, 1.62] 0.635 [0.84, 1.20] 0.434 1.001 3006 2899
Partner actionplan 0.98 0.25 [ 0.59, 1.64] 0.532 [0.84, 1.20] 0.508 1.001 2766 3067
Day 1.43 0.51 [ 0.70, 2.85] 0.837 [0.84, 1.20] 0.248 1.001 4091 2937
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.82** 0.06 [ 0.71, 0.94] 0.997 [0.84, 1.20] 0.399 1.002 4353 3304
Daily support provided (partner’s view) 0.87 0.07 [ 0.74, 1.00] 0.973 [0.84, 1.20] 0.681 1.001 3807 3001
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.30 0.70 [ 0.43, 3.80] 0.693 [0.84, 1.20] 0.238 1.004 1510 2035
Mean persuasion utilized (partner’s view) 1.40 0.88 [ 0.40, 5.16] 0.701 [0.84, 1.20] 0.192 1.003 1279 1535
Mean pressure experienced 3.46* 1.90 [ 1.18, 10.37] 0.987 [0.84, 1.20] 0.018 1.001 1740 2208
Mean pressure utilized (partner’s view) 1.30 0.78 [ 0.38, 4.31] 0.672 [0.84, 1.20] 0.218 1.003 1406 2207
Mean pushing experienced 1.75 1.41 [ 0.36, 9.06] 0.761 [0.84, 1.20] 0.146 1.007 1463 1951
Mean pushing utilized (partner’s view) 0.13* 0.13 [ 0.02, 0.83] 0.983 [0.84, 1.20] 0.013 1.005 1491 2179
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.68 0.20 [ 0.38, 1.25] 0.900 [0.84, 1.20] 0.220 1.001 2843 2894
Mean support provided (partner’s view) 0.89 0.20 [ 0.56, 1.36] 0.701 [0.84, 1.20] 0.525 1.001 2607 3131
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.83 0.22 [0.47, 1.30] NA NA NA 1.002 1217 2089
sd(Daily persuasion experienced) 0.20 0.13 [0.01, 0.46] NA NA NA 1.001 821 1512
sd(Daily persuasion utilized (partner’s view)) 0.23 0.16 [0.01, 0.55] NA NA NA 1.010 760 1043
sd(Daily pressure experienced) 0.54 0.27 [0.06, 1.17] NA NA NA 1.005 803 846
sd(Daily pressure utilized (partner’s view)) 0.39 0.36 [0.02, 1.54] NA NA NA 1.004 881 1701
sd(Daily pushing experienced) 0.24 0.14 [0.02, 0.56] NA NA NA 1.002 941 1037
sd(Daily pushing utilized (partner’s view)) 0.15 0.13 [0.01, 0.57] NA NA NA 1.002 1733 1997
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.8), b_Intercept[4] and b_Intercept[3] (r = 0.86),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.79). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan_self + plan_partner +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.33** 0.11 [0.17, 0.67] 0.999 [0.83, 1.20] 0.005 1.000 3116 3287
Within-Person Effects
Daily persuasion experienced 0.91 0.10 [0.74, 1.12] 0.822 [0.83, 1.20] 0.788 1.002 2828 2698
Daily persuasion utilized (partner’s view) 1.23 0.20 [0.90, 1.72] 0.904 [0.83, 1.20] 0.434 1.001 2372 2773
Daily pressure experienced 1.98* 0.61 [1.05, 4.25] 0.981 [0.83, 1.20] 0.050 1.002 2236 2153
Daily pressure utilized (partner’s view) 1.33 0.58 [0.56, 4.47] 0.750 [0.83, 1.20] 0.267 1.000 1791 1393
Daily pushing experienced 1.39* 0.19 [1.06, 1.86] 0.991 [0.83, 1.20] 0.136 1.001 3165 2798
Daily pushing utilized (partner’s view) 0.95 0.19 [0.63, 1.43] 0.602 [0.83, 1.20] 0.628 1.002 3099 2701
Own actionplan 0.95 0.30 [0.50, 1.71] 0.572 [0.83, 1.20] 0.432 1.001 3615 3062
Partner actionplan 0.94 0.27 [0.51, 1.65] 0.575 [0.83, 1.20] 0.459 1.000 3686 2702
Day 1.54 0.61 [0.72, 3.43] 0.860 [0.83, 1.20] 0.203 1.001 4879 2801
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.83* 0.07 [0.70, 0.97] 0.990 [0.83, 1.20] 0.473 1.001 4279 3082
Daily support provided (partner’s view) 0.86 0.07 [0.73, 1.02] 0.957 [0.83, 1.20] 0.653 1.001 4462 3037
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 2.29 1.45 [0.67, 8.02] 0.903 [0.83, 1.20] 0.102 1.001 1605 2443
Mean persuasion utilized (partner’s view) 2.10 1.54 [0.54, 8.93] 0.856 [0.83, 1.20] 0.116 1.001 1828 2692
Mean pressure experienced 19.98** 22.22 [2.54, 189.95] 0.997 [0.83, 1.20] 0.002 1.003 2305 2977
Mean pressure utilized (partner’s view) 2.47 2.97 [0.22, 25.46] 0.780 [0.83, 1.20] 0.086 1.000 2078 2522
Mean pushing experienced 1.31 1.40 [0.18, 10.21] 0.600 [0.83, 1.20] 0.128 1.001 2375 2544
Mean pushing utilized (partner’s view) 0.10* 0.11 [0.01, 0.86] 0.985 [0.83, 1.20] 0.018 1.000 2519 2878
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.74 0.25 [0.39, 1.41] 0.818 [0.83, 1.20] 0.288 1.001 2762 2541
Mean support provided (partner’s view) 0.79 0.20 [0.46, 1.32] 0.823 [0.83, 1.20] 0.360 1.001 2595 2385
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 1.22 0.27 [0.76, 1.83] NA NA NA 1.000 1359 2230
sd(Daily persuasion experienced) 0.24 0.15 [0.02, 0.55] NA NA NA 1.009 859 1046
sd(Daily persuasion utilized (partner’s view)) 0.51 0.21 [0.14, 1.04] NA NA NA 1.004 1052 1074
sd(Daily pressure experienced) 0.98 0.55 [0.11, 2.35] NA NA NA 1.009 686 932
sd(Daily pressure utilized (partner’s view)) 0.85 0.69 [0.04, 2.81] NA NA NA 1.001 1258 2027
sd(Daily pushing experienced) 0.25 0.17 [0.02, 0.64] NA NA NA 1.001 1316 1591
sd(Daily pushing utilized (partner’s view)) 0.26 0.23 [0.01, 1.00] NA NA NA 1.001 1681 1507
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", paste0("AllModels", suffix, ".xlsx")), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 36.75*** [31.94, 42.13] 1.000 112.23*** [101.26, 125.45] 1.000 3.68*** [ 3.47, 3.89] 1.000 NA NA NA 0.33** [0.17, 0.67] 0.999
Hurdle Intercept 0.27*** [ 0.20, 0.38] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 0.99 [ 0.94, 1.05] 0.611 1.01 [ 0.98, 1.04] 0.694 -0.04 [-0.08, 0.00] 0.966 0.91 [ 0.76, 1.09] 0.846 0.91 [0.74, 1.12] 0.822
Daily persuasion utilized (partner’s view) 1.00 [ 0.96, 1.05] 0.536 1.01 [ 0.98, 1.04] 0.688 0.00 [-0.05, 0.04] 0.589 1.13 [ 0.89, 1.39] 0.848 1.23 [0.90, 1.72] 0.904
Daily pressure experienced 0.92 [ 0.83, 1.01] 0.967 0.95 [ 0.89, 1.02] 0.942 -0.03 [-0.14, 0.07] 0.739 1.85* [ 1.14, 2.69] 0.993 1.98* [1.05, 4.25] 0.981
Daily pressure utilized (partner’s view) 0.95 [ 0.87, 1.03] 0.883 0.98 [ 0.92, 1.05] 0.733 -0.02 [-0.13, 0.08] 0.671 1.18 [ 0.66, 1.99] 0.758 1.33 [0.56, 4.47] 0.750
Daily pushing experienced 0.97 [ 0.90, 1.03] 0.859 1.01 [ 0.96, 1.06] 0.609 -0.01 [-0.07, 0.05] 0.639 1.27* [ 1.02, 1.61] 0.981 1.39* [1.06, 1.86] 0.991
Daily pushing utilized (partner’s view) 0.95 [ 0.89, 1.01] 0.958 1.00 [ 0.96, 1.04] 0.603 0.06 [-0.01, 0.13] 0.962 0.95 [ 0.73, 1.23] 0.650 0.95 [0.63, 1.43] 0.602
Own actionplan 1.35*** [ 1.23, 1.48] 1.000 1.06* [ 1.01, 1.11] 0.988 0.09* [ 0.01, 0.16] 0.987 0.90 [ 0.51, 1.62] 0.635 0.95 [0.50, 1.71] 0.572
Partner actionplan 1.04 [ 0.96, 1.14] 0.846 1.04 [ 0.99, 1.09] 0.931 -0.06 [-0.14, 0.02] 0.936 0.98 [ 0.59, 1.64] 0.532 0.94 [0.51, 1.65] 0.575
Day 0.99 [ 0.89, 1.12] 0.535 0.97 [ 0.91, 1.05] 0.763 0.26*** [ 0.15, 0.37] 1.000 1.43 [ 0.70, 2.85] 0.837 1.54 [0.72, 3.43] 0.860
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** [ 1.05, 1.10] 1.000 1.04*** [ 1.02, 1.06] 1.000 0.08*** [ 0.05, 0.11] 1.000 0.82** [ 0.71, 0.94] 0.997 0.83* [0.70, 0.97] 0.990
Daily support provided (partner’s view) 1.05*** [ 1.02, 1.08] 1.000 1.01 [ 0.99, 1.03] 0.907 0.04* [ 0.01, 0.06] 0.994 0.87 [ 0.74, 1.00] 0.973 0.86 [0.73, 1.02] 0.957
Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 [ 0.67, 1.28] 0.681 1.05 [ 0.80, 1.40] 0.651 0.24 [-0.32, 0.79] 0.797 1.30 [ 0.43, 3.80] 0.693 2.29 [0.67, 8.02] 0.903
Mean persuasion utilized (partner’s view) 0.99 [ 0.72, 1.35] 0.531 0.98 [ 0.73, 1.31] 0.570 0.30 [-0.25, 0.87] 0.858 1.40 [ 0.40, 5.16] 0.701 2.10 [0.54, 8.93] 0.856
Mean pressure experienced 1.27 [ 0.89, 1.79] 0.910 1.04 [ 0.78, 1.38] 0.600 -0.26 [-0.80, 0.30] 0.822 3.46* [ 1.18, 10.37] 0.987 19.98** [2.54, 189.95] 0.997
Mean pressure utilized (partner’s view) 0.92 [ 0.64, 1.34] 0.669 0.97 [ 0.73, 1.28] 0.596 -0.33 [-0.88, 0.22] 0.883 1.30 [ 0.38, 4.31] 0.672 2.47 [0.22, 25.46] 0.780
Mean pushing experienced 1.19 [ 0.74, 1.94] 0.767 0.90 [ 0.58, 1.42] 0.684 0.21 [-0.65, 0.99] 0.696 1.75 [ 0.36, 9.06] 0.761 1.31 [0.18, 10.21] 0.600
Mean pushing utilized (partner’s view) 1.10 [ 0.68, 1.82] 0.653 1.11 [ 0.73, 1.75] 0.676 0.16 [-0.69, 0.96] 0.651 0.13* [ 0.02, 0.83] 0.983 0.10* [0.01, 0.86] 0.985
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.932 NA NA NA NA NA NA NA NA NA
Mean support received 1.12* [ 1.02, 1.22] 0.988 1.07 [ 0.98, 1.16] 0.935 0.15 [ 0.00, 0.31] 0.972 0.68 [ 0.38, 1.25] 0.900 0.74 [0.39, 1.41] 0.818
Mean support provided (partner’s view) 0.97 [ 0.88, 1.06] 0.753 1.00 [ 0.92, 1.09] 0.533 -0.08 [-0.24, 0.07] 0.852 0.89 [ 0.56, 1.36] 0.701 0.79 [0.46, 1.32] 0.823
Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.21** [ 1.06, 1.40] 0.998 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.08 [ 0.94, 1.25] 0.879 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.91 [ 0.65, 1.28] 0.723 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.63* [ 1.10, 2.66] 0.993 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 0.83 [ 0.63, 1.15] 0.887 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.18 [ 0.94, 1.53] 0.931 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Own actionplan 9.73*** [ 7.90, 11.96] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Partner actionplan 1.02 [ 0.83, 1.25] 0.587 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.93 [ 0.69, 1.26] 0.685 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.70*** [ 1.56, 1.86] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) 1.40*** [ 1.28, 1.53] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.28 [ 0.58, 2.74] 0.743 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.13 [ 0.52, 2.49] 0.619 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.36* [ 0.15, 0.85] 0.987 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.59 [ 0.24, 1.42] 0.872 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 0.65 [ 0.20, 2.20] 0.762 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 1.34 [ 0.41, 4.18] 0.688 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.28* [ 1.00, 1.66] 0.975 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) 1.39** [ 1.10, 1.78] 0.996 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.31 [0.23, 0.42] NA 0.29 [0.23, 0.39] NA 0.60 [0.48, 0.80] NA 0.83 [0.47, 1.30] NA 1.22 [0.76, 1.83] NA
sd(Hurdle Intercept) 0.76 [0.57, 1.03] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.11 [0.07, 0.16] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.20 [0.01, 0.46] NA 0.24 [0.02, 0.55] NA
sd(Daily persuasion utilized (partner’s view)) 0.08 [0.05, 0.13] NA 0.05 [0.03, 0.09] NA 0.06 [0.01, 0.12] NA 0.23 [0.01, 0.55] NA 0.51 [0.14, 1.04] NA
sd(Daily pressure experienced) 0.06 [0.00, 0.21] NA 0.04 [0.00, 0.13] NA 0.07 [0.00, 0.25] NA 0.54 [0.06, 1.17] NA 0.98 [0.11, 2.35] NA
sd(Daily pressure utilized (partner’s view)) 0.05 [0.00, 0.17] NA 0.03 [0.00, 0.11] NA 0.08 [0.00, 0.27] NA 0.39 [0.02, 1.54] NA 0.85 [0.04, 2.81] NA
sd(Daily pushing experienced) 0.08 [0.01, 0.17] NA 0.07 [0.01, 0.15] NA 0.05 [0.00, 0.14] NA 0.24 [0.02, 0.56] NA 0.25 [0.02, 0.64] NA
sd(Daily pushing utilized (partner’s view)) 0.07 [0.01, 0.14] NA 0.03 [0.00, 0.09] NA 0.06 [0.00, 0.15] NA 0.15 [0.01, 0.57] NA 0.26 [0.01, 1.00] NA
sd(Hu Daily persuasion experienced) 0.14 [0.01, 0.36] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 [0.01, 0.38] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.22 [0.01, 0.79] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.35 [0.01, 1.11] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.54 [0.27, 0.97] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.18 [0.01, 0.52] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.66 [0.64, 0.69] NA 0.57 [0.56, 0.59] NA 0.95 [0.93, 0.97] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()